<?php
declare (strict_types=1);

namespace app\api\model;

use app\common\model\Feedback as FeedbackModel;

/**
 * 投诉建议模型
 * Class Feedback
 * @package app\api\model
 */
class Feedback extends FeedbackModel
{

    public function getPicAttr($value)
    {
        if($value > 0){
            return get_file_url($value);
        }else{
            return [];
        }
    }

    /**
     * 添加新记录
     * @param $data
     * @return bool
     */
    public function add($data): bool
    {
        if(isset($data['pic']) && is_array($data['pic'])){
            $data['pic'] = implode(',', $data['pic']);
        }
        return $this->save($data);
    }

    /**
     * 列表
     * @param array $param
     * @return \think\Paginator
     * @throws \think\db\exception\DbException
     */
    public function getList(array $param = []): \think\Paginator
    {
        // 检索查询条件
        $filter = $this->getFilter($param);
        // 列表
        return $this->where($filter)
            ->order(['id' => 'desc'])
            ->paginate(input('pageSize',10,'intval'));
    }

    /**
     * 获取查询条件
     * @param array $param
     * @return array
     */
    private function getFilter(array $param = []): array
    {
        // 默认查询条件
        $params = $this->setQueryDefaultValue($param, [
            'user_id' => 0,      // 用户ID
        ]);
        // 检索查询条件
        $filter = [['user_id', '=', (int)$params['user_id']]];
        return $filter;
    }

}
